// @ts-ignore
/* eslint-disable */
import { request } from '@umijs/max';

// 登录请求参数类型
export interface LoginDTO {
  loginId: string;  // 登录ID（手机号、身份证号或管理员账号）
  password: string; // 密码
}

// 用户信息返回类型
export interface UserVO {
  userId: number;
  userName: string;
  pid: string;
  telephone: string;
  address: string;
  adminAccount?: string;
  isAdmin: boolean;
  createTime: string;
  updateTime: string;
  token?: string;
}

// 统一响应格式
export interface Result<T> {
  code: number;
  msg: string | null;
  data: T;
}

/**
 * 用户登录
 * @param loginDTO 登录请求参数
 * @returns 登录用户信息（包含token）
 */
export async function login(loginDTO: LoginDTO): Promise<Result<UserVO>> {
  return request<Result<UserVO>>('/api/auth/login', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    data: loginDTO,
  });
}

/**
 * 用户登出
 * @returns 登出结果
 */
export async function logout(): Promise<Result<boolean>> {
  return request<Result<boolean>>('/api/auth/logout', {
    method: 'POST',
  });
} 